<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>移动零</title>
  </head>
  <body>
    <script>
      // 给定一个数组 nums，编写一个函数将所有 0 移动到数组的末尾，同时保持非零元素的相对顺序。

      // 示例:
      // 输入: [0,1,0,3,12]
      // 输出: [1,3,12,0,0]
      // 说明:

      // 必须在原数组上操作，不能拷贝额外的数组。
      // 尽量减少操作次数

      // 来源：力扣（LeetCode）
      // 链接：https://leetcode-cn.com/problems/move-zeroes
      // 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
      // ------------------------------------------------
      var moveZeroes = function (nums) {
        let k = 0;
        for (let i = 0; i < nums.length; i++) {
          if (nums[i] != 0) {
            nums[k] = nums[i];
            k++;
            //或写为 nums[k++] = nums[i]
            //console.log(nums[0] + " " + nums[1]);
          }
        }
        for (let j = k; j < nums.length; j++) {
          nums[j] = 0;
        }
      };
      let nums = [0, 1, 0, 3, 12];
      moveZeroes(nums);
      console.log(nums);
    </script>
  </body>
</html>
